package com.teamsun.system;

import com.teamsun.entity.UserInfo;
import com.teamsun.exception.ServiceException;

import java.util.List;
import java.util.Map;

/**
 * 登录服务
 */
public interface ILoginService {

    /**
     * 验证用户登录
     * @param userId 用户名
     * @param password 密码
     * @return
     */
    UserInfo verifyLoginInfo(String userId, String password) throws ServiceException;

    /**
     * 根据用户ID查询用户信息
     * @param userId
     * @return
     * @throws ServiceException
     */
    List<UserInfo> queryUserById(String userId) throws Exception;

    /**
     * 分页查询用户信息
     * @param params
     * @return
     */
    Map<String, Object> queryUserInfo(Map<String, Object> params, int startIndex, int endIndex);

    /**
     * 删除用户信息
     * @param params
     */
    void deleteUserInfo(Map<String, Object> params) throws Exception;

    /**
     * 新增用户
     * @param userInfo
     * @throws Exception
     */
    void addUserInfo(UserInfo userInfo) throws Exception;

    /**
     * 修改用户信息
     * @param userInfo
     * @throws Exception
     */
    void updateUserInfo(UserInfo userInfo) throws Exception;

    /**
     * 修改用户密码
     * @param userInfo
     * @throws Exception
     */
    void updateUserPassword(UserInfo userInfo) throws Exception;
}
